// pages/home-video/index.js
import { getTopMV } from '../../service/api_video'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        topMVs: [],
        hasMore: true
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: async function() {
        this.getTopMVData(0)
    },

    // 视频 item 点击
    handleVideoItemClick(event) {
        const id = event.target.dataset.item.id
        // 这样方式和uniapp的操作还是非常类似的操作不是吗?
        wx.navigateTo({
          url: `/pages/detail-video/index?id=${id}`,
        })
    },

    /**
     * 获取mv数据
     */
    async getTopMVData(offset) {
        // 没有更多的数据了
        if(!this.data.hasMore && offset !== 0) return
        
        // 显示加载动画
        wx.showNavigationBarLoading()

        // 根据不同的情况加载数据
        let newData = this.data.topMVs
        const res = await getTopMV(offset)
        if(offset !== 0) {
            newData = this.data.topMVs.concat(res.data)
        } else {
            newData = res.data
        }

        // 设置数据
        this.setData({topMVs: newData})
        this.setData({hasMore: res.hasMore})

        //  关闭加载动画
        wx.hideNavigationBarLoading()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    }, 

    
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: async function () {
        this.getTopMVData(0)
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: async function () {
        this.getTopMVData(this.data.topMVs.length)
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {
    }
})